<template>
	<view class="content">
		<view class="view">
			
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
			};
		},
		onLoad(){
			//websocket连接
			//     var host = "192.168.10.21:8089";
			//     var ws = "ws://"+host+"/websocket/123";
			//     var lockReconnect = false;
			//     var output;
			//     //初始化操作
			//     function init() {
			//         output = document.getElementById("output");
			//         testWebSocket();
			//     }
			
			//     function testWebSocket() {
			//         websocket = new WebSocket(ws);
			//         websocket.onopen = function (evt) {
			//             onOpen(evt)
			//         };
			//         websocket.onclose = function (evt) {
			//             onClose(evt)
			//         };
			//         websocket.onmessage = function (evt) {
			//             onMessage(evt)
			//         };
			//         websocket.onerror = function (evt) {
			//             onError(evt)
			//         };
			//     }
			
			//     function onOpen(evt) {
			//         heartCheck.reset().start();
			//         writeToScreen("CONNECTED");
			//     }
			
			//     function onClose(evt) {
			//         writeToScreen("DISCONNECTED");
			//         reconnect(wsUrl);
			//     }
			
			//     //收到消息
			//     function onMessage(evt) {
			//         var obj = eval('(' + evt.data + ')');
			//         switch (obj['type']) {
			//             case 'arrival':
			//                 if (obj['data']['memberid'] == 0) {
			//                     image = obj['data']['image'];
			//                     //识别到的陌生人，只需要care他的id，然后如果有需求，可以根据image展示
			//                     writeToScreen('<span style="color: red;" id="' + obj['data']['id'] + '">Arrival:</span>' + obj['data']['id']
			//                         + '<button style="color:blue" onclick="sim_regist(' + obj['data']['id'] + ')">点击注册</button>');
			//                     writeToScreen('<img height="100" width="100" src="data:image/png;base64,' + image + '"/>');
			//                 } else {
			//                     image = obj['data']['image'];
			//                     //NOTICE:此处修改了，请F12查看或者文档查看格式
			//                     writeToScreen('<span style="color: red;" id="' + obj['data']['id'] + '">Arrival:</span>' + obj['data']['id']
			//                        +'  会员ID:'+obj['data']['member']['memberid']+' 姓名:'+obj['data']['member']['name']);
			//                     writeToScreen('<img height="100" width="100" src="data:image/png;base64,' + image + '"/>');
			//                 }
			
			//                 break;
			//             case 'updateQuality':
			//                 writeToScreen('<span style="color: red;">Update:</span>' + obj['data']['id'] + ' update to ' + obj['data']['quality']);
			//                 break;
			//             case 'featureByVisitor':
			//                 if(obj['res'] == 0)
			//                 {
			//                     regist(obj['data']);
			//                 }
			//                 break;
			//             case 'visitorlist':
			//             if(obj['res'] == 0)
			//                 {
			//                     writeToScreen('<span style="color: red;">VisitorList of today:</span>' + JSON.stringify(obj['data']));
			//                 }
			//                 break;
			//         }
			
			//         heartCheck.reset().start();
			//         //关闭连接
			//         //websocket.close();
			//     }
			
			//     function onError(evt) {
			//         writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
			//     }
			
			//     function doSend(message) {
			//         writeToScreen("SENT: " + message);
			//         websocket.send(message);
			//     }
			
			//     function reconnect(url) {
			//         if (lockReconnect) return;
			//         lockReconnect = true;
			//         //没连接上会一直重连，设置延迟避免请求过多
			//         setTimeout(function () {
			//             console.info("尝试重连..." + new Date().format("yyyy-MM-dd hh:mm:ss"));
			//             testWebSocket();
			//             lockReconnect = false;
			//         }, 5000);
			//     }
			
			//     //输出识别结果到屏幕
			//     function writeToScreen(message) {
			//         var result = document.getElementById("test");
			//         var pre = document.createElement("p");
			//         pre.style.wordWrap = "break-word";
			//         pre.innerHTML = message;
			//         output.appendChild(pre);
			//     }
			
			//     function sim_regist(id){
			//         //陌生人注册step 1： 通过ws的featureByVisitor获取最好照片
			//         var obj='{type:"featureByVisitor",data:{visitorid:'+id+'}}';
			//         doSend(obj);
			
			//     }
			
			//     function regist(obj) {
			//         //陌生人注册step 2：获取用户信息
			//         var name = prompt("用户信息录入", "请输入您的名字");
			//         //陌生人注册step 3：向服务器发送会员注册，本地服务器会自动同步这些信息。
			//         //跳过此步骤，用随机数来模拟memberid
			//         var memberid = Math.floor(Math.random()*10000)+1;
			//         //陌生人注册step 4：通过ws告知本地服务器注册的会员信息（可能是新注册，可能是绑定旧会员）
			//         var senddata ={};
			//         senddata.type="addmember";
			//         var member = {};
			//         senddata.data=member;
			//         member.id=obj.id;
			//         member.memberid=memberid;
			//         member.name=name;
			//         member.avator="http://img.duoziwang.com/2016/12/14/15075257811.jpg";//此处是模拟，应该是会员头像
			//         member.feature=obj.feature;
			//         member.quality=obj.quality;
			//         //add by member
			//         member.phone="18627863714";
			//         member.sex=0;
			//         member.age=27;
			//         member.mrnumber="5012312321321";
			//         doSend(JSON.stringify(senddata));
			
			        
			//     }
			
			//     function getvisitor(){
			//         //在此仅模拟今日
			//         var obj='{type:"visitorlist",data:{date:"2019-12-09"}}';
			//         doSend(obj);
			//     }
			
			//     //心跳检测,每5s心跳一次
			//     var heartCheck = {
			//         timeout: 5000,
			//         timeoutObj: null,
			//         serverTimeoutObj: null,
			//         reset: function () {
			//             clearTimeout(this.timeoutObj);
			//             clearTimeout(this.serverTimeoutObj);
			//             return this;
			//         },
			//         start: function () {
			//             var self = this;
			//             this.timeoutObj = setTimeout(function () {
			//                 //这里发送一个心跳，后端收到后，返回一个心跳消息，
			//                 //onmessage拿到返回的心跳就说明连接正常
			//                 ws.send("HeartBeat" + (new Date()).format("yyyy-MM-dd hh:mm:ss"));
			//                 console.info("客户端发送心跳：" + (new Date()).format("yyyy-MM-dd hh:mm:ss"));
			//                 self.serverTimeoutObj = setTimeout(function () {
			//                     //如果超过一定时间还没重置，说明后端主动断开了
			
			//                     //ws.close();
			//                     //如果onclose会执行reconnect，我们执行ws.close()就行了.
			//                     //如果直接执行reconnect 会触发onclose导致重连两次
			//                 }, self.timeout)
			//             }, this.timeout)
			//         }
			//     }
			
			//     window.addEventListener("load", init, false);
			
			
			// const set = new Set(['red', 'green', 'blue']);
			// for (let item of set) {
			// 	console.log(item);
			// }
			
			// for (let item of set.entries()) {
			//   console.log(item);
			// }
			
			// let set1 = new Set([1, 4, 9]);
			// set1.forEach((value, key) => console.log(key + ' : ' + value))
			
			// let set2 = new Set([1,2,3])
			// set2 = new Set([...set2].map(x => x * 2));
			
			// let set = new Set([1, 2, 3, 4, 5]);
			// set = new Set([...set].filter(x => (x % 2) == 0));
			// console.log(set);
			
			// const map = new Map([
			// 	['name', '张三'],
			// 	['title', 'Author']
			// ])
			
			// console.log(map.get('name'));
			
			// const set = new Set([
			// 	['foo', 1],
			// 	['bar', 2]
			// ])
			
			// const m1 = new Map(set);
			// console.log(m1.get('bar'));
			
			// const m = new Map()
			// 	.set('edition', 6)        // 键是字符串
			// 	.set(262, 'standard')     // 键是数值
			// 	.set(undefined, 'nah')    // 键是 undefined
			
			// const m = new Map();
			// const hello = function(){console.log('hello');}
			// m.set(hello,'hello ES6')
			// console.log(m.get(hello));
			
			// const map = new Map([
			//   ['F', 'no'],
			//   ['T',  'yes'],
			// ]);
			
			// for (let item of map.entries()) {
			//   console.log(item);
			// }
			
			// const myMap = new Map()
			//   .set(true, 7)
			//   .set({foo: 3}, ['abc']);
			// console.log([...myMap]);
			
			// const p1 = new Promise(function (resolve, reject) {
			//   setTimeout(() => reject(new Error('fail')), 3000)
			// })
			
			// const p2 = new Promise(function (resolve, reject) {
			//   setTimeout(() => resolve(p1), 1000)
			// })
			
			// p2.then((res)=>{
			// 	console.log(res);
			// }).catch((res) => {
			// 	console.log(res);
			// })
			
			// const p1 = new Promise((resolve, reject) => {
			// 	resolve('正确')
			// })
			// .then(result => result)
			// .catch(e => e);
			
			// const p2 = new Promise((resolve, reject) => {
			// 	throw new Error('报错')
			// })
			// .then(result => result)
			// .catch(e => e);
			
			// Promise.all([p1, p2])
			// .then(result => console.log(result))
			// .catch(e => console.log(e))
			
			// var it = makeIterator(['a', 'b']);
			
			// console.log(it.next()); // { value: "a", done: false }
			// console.log(it.next()); // { value: "b", done: false }
			// console.log(it.next()); // { value: undefined, done: true }
			
			// function makeIterator(array) {
			//   var nextIndex = 0;
			//   return {
			//     next: function() {
			//       return nextIndex < array.length ?
			//         {value: array[nextIndex++], done: false} :
			//         {value: undefined, done: true};
			//     }
			//   };
			// }
			
			// let arr = ['a', 'b', 'c'];
			// let iter = arr[Symbol.iterator]();
			
			// console.log(iter.next());
			
			// let set = new Set().add('a').add('b').add('c');
			
			// let [x,y] = set;
			// console.log(x);
			// console.log(y);
			
			// let [first , ...rest] = set;
			
			// console.log(...rest);
			
			// let str = 'hello';
			// console.log([...str]);
			
			// let arr = ['b', 'c']
			// console.log(['a', ...arr, 'd']);
			
			// let someString = 'hi';
			// typeof someString[Symbol.iterator];
			
			// let iterator = someString[Symbol.iterator]();
			
			// console.log(iterator.next());
			
			// const obj = {
			//   [Symbol.iterator] : function () {
			//     return {
			//       next: function () {
			//         return {
			//           value: 1,
			//           done: true
			//         };
			//       }
			//     };
			//   }
			// };
			
			// let iterator = obj[Symbol.iterator]();
			// console.log(iterator.next());
			
			// let str = new String('hi');
			
			// console.log([...str]);
			
			// str[Symbol.iterator] = function() {
			// 	return {
			// 		next:function(){
			// 			if(this._first){
			// 				this._first = false;
			// 				return { value : 'bye' , done : false};
			// 			}else {
			// 				return { done : true }
			// 			}
			// 		},
			// 		_first : true
			// 	};
			// };
			
			// console.log([...str]);
			// console.log(str);
			
			// let myIterable = {
			// 	[Symbol.iterator]:function* (){
			// 		yield 1;
			// 		yield 2;
			// 		yield 3;
			// 	}
			// }
			// console.log([...myIterable]);
			
			// let obj = {
			// 	* [Symbol.iterator](){
			// 		yield 'hello';
			// 		yield 'world';
			// 	}
			// }
			
			// for (let item of obj) {
			// 	console.log(item);
			// }
			
			// var arr = ['a', 'b', 'c', 'd'];
			// for (let a of arr.entries()) {
			//   console.log(a[1]); // a b c d
			// }
			
			// let engines = new Set(["Gecko", "Trident", "Webkit", "Webkit"]);
			// for (let item of engines) {
			// 	console.log(item);
			// }
			
			// let es6 = new Map();
			// es6.set("edition", 6);
			// es6.set("committee", "TC39");
			// es6.set("standard", "ECMA-262");
			// for (let [name, value] of es6) {
			// 	// console.log(value);
			// 	console.log(name + ": " + value);
			// }
			
			// let str = 'hello';
			// for (let item of str) {
			// 	console.log(item);
			// }
			
			// let arrayLike = { length: 2, 0: 'a', 1: 'b' };
			// for (let item of Array.from(arrayLike)) {
			// 	console.log(item);
			// }
			
			// let es6 = {
			//   edition: 6,
			//   committee: "TC39",
			//   standard: "ECMA-262"
			// };
			// for (var key of Object.keys(es6)) {
			//   console.log(key + ': ' + es6[key]);
			// }
			
			// const fs = require('fs');
			
			// const readFile = function (fileName){
			// 	return new Promise(function (resolve , reject){
			// 		fs.readFile(fileName, function(error, data){
			// 			if(error) return reject(error);
			// 			resolve(data)
			// 		})
			// 	})
			// }
			
			// const gen = function* (){
			// 	const f1 = yield readFile('/etc/fstab');
			// 	const f2 = yield readFile('/etc/shells');
			// 	console.log(f1.toString());
			// 	console.log(f2.toString());
			// }
			
			// async function f() {
			//   throw new Error('出错了');
			// }
			
			// f().then(
			//   v => console.log(v),
			//   e => console.log(e)
			// )
			
			
			// async function timeout(ms) {
			//   await new Promise((resolve) => {
			//     setTimeout(resolve, ms);
			//   });
			// }
			
			// async function asyncPrint(value, ms) {
			//   await timeout(ms);
			//   console.log(value);
			// }
			
			// asyncPrint('hello world', 50);
			
			
			// async function getStockPriceByName(name) {
			//   const symbol = await getStockSymbol(name);
			//   const stockPrice = await getStockPrice(symbol);
			//   return stockPrice;
			// }
			
			// getStockPriceByName('goog').then(function (result) {
			//   console.log(result);
			// });
			
		}
	}
</script>

<style lang="scss">

</style>
